Scientific calculators are typically hand held or desktop devices which include a manually actuable keyboard for receiving input data and operational commands from the operator and a visual display for communicating results to the operator. A more recent development is the provision of an alphanumeric display which allows for the entry, display, and editing of data structures which are more complicated than simple numbers. In particular, it allows for entry, display, and editing of equations and algebraic expressions.
The increasing complexity of these scientific calculators together with the trend toward providing more diverse data structures has provided impetus for automating the editing process for these data structures. Previous calculators have employed so called character editors for editing equations and algebraic expressions, wherein the operator may delete, insert, or overwrite individual characters or groups of characters in the displayed form of the equation or expression.
While character editors are useful and important for the correction of operator inputting errors, they are highly deficient for the purpose of rearranging a formally correct expression which appears in an inappropriate form. As an example, consider the expressions: EQU (alog(2N)+1)-alog(2N) and (alog (2N)-alog(2N))+1
where alog is the common antilogarithm function, and N is the number of significant digits carried by the calculator. While these expressions are formally equivalent, they will yield different results when evaluated on the calculator, and only the second form will yield the correct result. A primary deficiency of a character editor, then, is that it will not allow the operator to transform the first expression into the second expression without considerable effort and the possibility of introducing errors into the expression.
A second deficiency of character editors for this kind of editing is the lack of guidance for the operator in the processes of transforming an expression into a formally equivalent one.